CSS @extend κ·μΉμ λν μ’ ν© κ°μ΄λ. λ¬Έλ², μ₯μ , λ¨μ λ° ν¨μ¨μ μ΄κ³ μ μ§ κ΄λ¦¬νκΈ° μ¬μ΄ μ€νμΌμνΈλ₯Ό μν λͺ¨λ² μ¬λ‘λ₯Ό λ€λ£Ήλλ€.
CSS @extend κ·μΉ: μ€νμΌ μμ λ° νμ₯ ν¨ν΄ λ§μ€ν°νκΈ°
CSS @extend κ·μΉμ μ½λ μ¬μ¬μ©μ μ΄μ§νκ³ μ€νμΌμνΈμ μΌκ΄μ±μ μ μ§νλ κ°λ ₯ν λꡬμ
λλ€. μ΄ κ·μΉμ μ’
μ’
Sassλ Lessμ κ°μ CSS μ μ²λ¦¬κΈ°μ μ°κ΄λμ§λ§, μ¬μ©νλ λꡬμ κ΄κ³μμ΄ κ·Έ κΈ°λ³Έ μμΉμ μ΄ν΄νλ κ²μ ν¨μ¨μ μ΄κ³ μ μ§λ³΄μ κ°λ₯ν CSSλ₯Ό μμ±νλ λ° λ§€μ° μ€μν©λλ€. μ΄ μ’
ν© κ°μ΄λμμλ @extend κ·μΉμ λ¬Έλ², μ₯μ , λ¨μ λ° λͺ¨λ² μ¬λ‘μ λν΄ μμΈν μμλ³΄κ² μ΅λλ€.
CSS @extend κ·μΉμ΄λ 무μμΈκ°μ?
@extend κ·μΉμ μ¬μ©νλ©΄ ν CSS μ νμμ μ€νμΌμ λ€λ₯Έ μ νμ λ΄μμ μμν μ μμ΅λλ€. λ³Έμ§μ μΌλ‘ μ΄λ λΈλΌμ°μ μ "μ νμ Aμ μ μλ λͺ¨λ μ€νμΌμ μ νμ Bμλ μ μ©νλΌ"κ³ μ§μνλ λ°©λ²μ
λλ€. μ΄λ₯Ό ν΅ν΄ CSSμ μ€λ³΅μ ν¬κ² μ€μ΄κ³ νλ‘μ νΈ μ λ°μ κ±Έμ³ μ€νμΌμ λ μ½κ² μ
λ°μ΄νΈν μ μμ΅λλ€.
λ€μ΄ν°λΈ CSSμλ @extendμ μ§μ μ μΌλ‘ λμΌν κΈ°λ₯μ΄ μμ§λ§, Sassλ Lessμ κ°μ μ μ²λ¦¬κΈ°μμ μ΄ κΈ°λ₯μ μ 곡νμ¬ νμ€ CSSλ‘ λ³νν©λλ€. κ·Έλ¬λ μ€νμΌ μμ λ° νμ₯ κ°λ
μ νΉμ @extend ꡬνμ μμ‘΄νμ§ μλλΌλ μ’μ CSS μν€ν
μ²μ κΈ°λ³Έμ
λλ€.
λ¬Έλ² λ° κΈ°λ³Έ μ¬μ©λ²
@extend κ·μΉμ μ νν λ¬Έλ²μ μ¬μ©νλ CSS μ μ²λ¦¬κΈ°μ λ°λΌ μ½κ° λ€λ¦
λλ€. νμ§λ§ κΈ°λ³Έ μμΉμ λμΌν©λλ€:
Sass λ¬Έλ²
Sassμμ @extend κ·μΉμ λ€μκ³Ό κ°μ΄ μ¬μ©λ©λλ€:
.message {
padding: 10px;
border: 1px solid #ccc;
background-color: #f9f9f9;
}
.success-message {
@extend .message;
color: green;
}
.error-message {
@extend .message;
color: red;
}
μ΄ μμ μμ .success-messageμ .error-messageλ .messageμ μ μλ λͺ¨λ μ€νμΌμ μμλ°μ λ€μ κ°κ°μ νΉμ μ€νμΌ(color: green; λ° color: red;)μ μ μ©ν©λλ€.
Less λ¬Έλ²
Lessμμλ @extend κ·μΉμ λΉμ·νκ² μ¬μ©λ©λλ€:
.message {
padding: 10px;
border: 1px solid #ccc;
background-color: #f9f9f9;
}
.success-message {
&:extend(.message);
color: green;
}
.error-message {
&:extend(.message);
color: red;
}
Lessμ &:extend(.message) λ¬Έλ²μ μ£Όλͺ©νμΈμ. &λ νμ¬ μ νμλ₯Ό μ°Έμ‘°ν©λλ€.
μ»΄νμΌλ CSS κ²°κ³Όλ¬Ό
μ μ²λ¦¬κΈ°κ° μ μ½λλ₯Ό μ»΄νμΌνλ©΄(μ¬κΈ°μλ Sass μμ ), κ²°κ³Ό CSSλ λ€μκ³Ό κ°μ μ μμ΅λλ€:
.message, .success-message, .error-message {
padding: 10px;
border: 1px solid #ccc;
background-color: #f9f9f9;
}
.success-message {
color: green;
}
.error-message {
color: red;
}
μ μ²λ¦¬κΈ°κ° .messageλ₯Ό νμ₯νλ μ νμλ€μ λ¨μΌ CSS κ·μΉμΌλ‘ κ²°ν©νλ λ°©μμ μ£Όλͺ©νμΈμ. μ΄κ²μ΄ @extendμ ν΅μ¬ μ₯μ μ
λλ€: κ²°κ³Όλ¬Όμμ CSS μμ± μ€λ³΅μ νΌν μ μμ΅λλ€.
@extend μ¬μ©μ μ΄μ
- μ½λ μ€λ³΅ κ°μ:
@extendμ μ£Όλ μ΄μ μ λ°λ³΅μ μΈ CSS μ½λμ μμ μ€μ΄λ κ²μ λλ€. μ΄λ μ€νμΌμνΈλ₯Ό λ μκ² λ§λ€κ³ , μ½κ³ μ μ§ κ΄λ¦¬νκΈ° μ½κ² λ§λλλ€. - μ μ§λ³΄μμ± ν₯μ: κ³΅ν΅ μ€νμΌμ λ³κ²½ν΄μΌ ν λ ν κ³³μμλ§ μμ νλ©΄ λ©λλ€. λ³κ²½ μ¬νμ ν΄λΉ μ€νμΌμ νμ₯νλ λͺ¨λ μ νμμ μλμΌλ‘ λ°μλ©λλ€. λκ·λͺ¨ μ μμκ±°λ μ¬μ΄νΈμ λ²νΌ μ€νμΌμ μ
λ°μ΄νΈνλ κ²μ μμν΄ λ³΄μΈμ β
@extendλ μ΄ κ³Όμ μ ν¬κ² λ¨μνν μ μμ΅λλ€. - μΌκ΄μ± κ°ν:
@extendλ νλ‘μ νΈ μ λ°μ κ±Έμ³ μ€νμΌμ μΌκ΄μ±μ 보μ₯νλ λ° λμμ΄ λ©λλ€. μ΄λ μ¬λ¬ κ°λ°μκ° μ°Έμ¬νλ λκ·λͺ¨ νλ‘μ νΈμμ νΉν μ€μν©λλ€. - μλ―Έμ κ΄κ³:
@extendλ₯Ό μ¬μ©νλ©΄ λμμΈμ λ€λ₯Έ μμλ€ κ°μ κ΄κ³λ₯Ό λͺ νν ν μ μμ΅λλ€. μ΄λ ν μμκ° λ€λ₯Έ μμμ λ³νμ΄κ±°λ νμ₯μμ λͺ μμ μΌλ‘ λνλ λλ€.
μ μ¬μ λ¨μ λ° κ³ λ €μ¬ν
@extendλ μ¬λ¬ μ₯μ μ μ 곡νμ§λ§, μ μ¬μ μΈ λ¨μ μ μΈμ§νκ³ μ μ€νκ² μ¬μ©νλ κ²μ΄ μ€μν©λλ€:
- νΉμ μ± μ¦κ°:
@extendλ λλλ‘ μμμΉ λͺ»ν νΉμ μ± λ¬Έμ λ₯Ό μΌμΌν¬ μ μμΌλ©°, νΉν 볡μ‘ν μ νμ κ³μΈ΅ ꡬ쑰λ₯Ό λ€λ£° λ κ·Έλ μ΅λλ€.@extendλ₯Ό μ¬μ©ν λλ CSS νΉμ μ±μ μ΄ν΄νλ κ²μ΄ μ€μν©λλ€. - μ»΄νμΌλ CSS ν¬κΈ°:
@extendλ μμ€ νμΌμ μ½λ μ€λ³΅μ μ€μ¬μ£Όμ§λ§, νΉν λ§μ μ νμκ° λμΌν κΈ°λ³Έ μ€νμΌμ νμ₯νλ κ²½μ° μ»΄νμΌλ CSS νμΌμ ν¬κΈ°κ° μ»€μ§ μ μμ΅λλ€. νμΌ ν¬κΈ°μ νμ΄μ§ λ‘λ μκ°μ λ―ΈμΉλ μ λ°μ μΈ μν₯μ κ³ λ €ν΄μΌ ν©λλ€. - μ μ§λ³΄μ μ΄λ €μ:
@extendλ₯Ό κ³Όλνκ² μ¬μ©νκ±°λ λΆμ μ νκ² μ¬μ©νλ©΄ μ€νμΌμνΈλ₯Ό μ΄ν΄νκ³ μ μ§ κ΄λ¦¬νκΈ° λ μ΄λ €μμ§ μ μμ΅λλ€. μ λ΅μ μΌλ‘ μ¬μ©νκ³ μ½λλ₯Ό λͺ ννκ² λ¬Έμννλ κ²μ΄ μ€μν©λλ€. - νΉμ μ± μ μ: μ΄λ―Έ μλΉν ꡬ체μ μΈ ν΄λμ€(μ:
#header .nav li a.active)λ₯Ό νμ₯νλ©΄ κ²°κ³Ό μ νμκ° λΆνμνκ² λ³΅μ‘ν΄μ§κ³ μ¬μ μνκΈ° μ΄λ €μμ§ μ μμ΅λλ€. μ΄λ μνλ μ€νμΌλ§μ λ¬μ±νκΈ° μν΄ λ ꡬ체μ μΈ μ νμλ₯Ό μΆκ°ν΄μΌ νλ "νΉμ μ± μ μ"μΌλ‘ μ΄μ΄μ§ μ μμ΅λλ€.
@extend μ¬μ©μ μν λͺ¨λ² μ¬λ‘
@extendμ μ΄μ μ κ·Ήλννκ³ μ μ¬μ μΈ λ¨μ μ μ΅μννλ €λ©΄ λ€μ λͺ¨λ² μ¬λ‘λ₯Ό λ°λ₯΄μΈμ:
1. μλ―Έμ κ΄κ³μ @extend μ¬μ©νκΈ°
@extendλ μ£Όλ‘ μ νμλ€ κ°μ λͺ
νν μλ―Έμ κ΄κ³κ° μμ λ μ¬μ©νμΈμ. μλ₯Ό λ€μ΄, κΈ°λ³Έ λ²νΌ μ€νμΌμ λ€μν λ²νΌ λ³ν(μ: μ£Ό λ²νΌ, 보쑰 λ²νΌ)μ μν΄ νμ₯νλ κ²μ ν©λ¦¬μ μ
λλ€. λ¨μ§ μ½λ μ¬μ¬μ©μ μν΄ @extendλ₯Ό μ¬μ©νλ κ²μ νΌνμΈμ. λ
Όλ¦¬μ μ°κ²°μ΄ μλ€λ©΄ λμ λ―Ήμ€μΈ(λμ€μ λ
Όμλ¨) μ¬μ©μ κ³ λ €νμΈμ.
2. νμ μ νμ νμ₯ νΌνκΈ°
νμ μ νμ(μ: .container .item)λ₯Ό νμ₯νλ©΄ μ§λμΉκ² ꡬ체μ μ΄κ³ κΉ¨μ§κΈ° μ¬μ΄ CSSκ° λ μ μμ΅λλ€. μΌλ°μ μΌλ‘ κΈ°λ³Έ ν΄λμ€λ₯Ό μ§μ νμ₯νλ κ²μ΄ λ μ’μ΅λλ€.
3. νΉμ μ±μ μ μνκΈ°
νμ₯νλ €λ μ νμμ νΉμ μ±μ μΈμ¬ν μ£Όμλ₯Ό κΈ°μΈμ΄μΈμ. μ λμ μΌλ‘ νμν κ²½μ°κ° μλλ©΄ λμ νΉμ μ±μ κ°μ§ μ νμλ₯Ό νμ₯νλ κ²μ νΌνμΈμ. λΆνμνκ² νΉμ μ±μ λμ΄μ§ μκ³ κ³΅μ μ€νμΌμ κ΄λ¦¬νκΈ° μν΄ μ νΈλ¦¬ν° ν΄λμ€(λμ€μ λ Όμλ¨) μ¬μ©μ κ³ λ €νμΈμ.
4. μ½λ λ¬ΈμννκΈ°
CSS μ£Όμμ @extend μ¬μ©λ²μ λͺ
ννκ² λ¬ΈμννμΈμ. μ νμ κ°μ κ΄κ³μ @extendλ₯Ό μ¬μ©νλ μ΄μ λ₯Ό μ€λͺ
νμΈμ. μ΄λ λ€λ₯Έ κ°λ°μλ€μ΄ μ½λλ₯Ό μ΄ν΄νκ³ μλμΉ μμ λ³κ²½μ νΌνλ λ° λμμ΄ λ κ²μ
λλ€.
5. μ² μ νκ² ν μ€νΈνκΈ°
@extendλ₯Ό ν¬ν¨νλ CSS λ³κ²½ νμλ μΉμ¬μ΄νΈλ μ ν리μΌμ΄μ
μ μ² μ ν ν
μ€νΈνμ¬ μ€νμΌμ΄ μ¬λ°λ₯΄κ² μ μ©λκ³ μμμΉ λͺ»ν λΆμμ©μ΄ μλμ§ νμΈνμΈμ.
6. νλ μ΄μ€νλ μ νμ μ¬μ© κ³ λ €νκΈ° (Sass μ μ©)
Sassλ νλ μ΄μ€νλ μ νμ(μ: %message)λΌλ κΈ°λ₯μ μ 곡ν©λλ€. μ΄λ νμ₯λ κ²½μ°μλ§ μ»΄νμΌλ CSSμ ν¬ν¨λλ νΉμ μ νμμ
λλ€. μ΄λ μ€μ λ‘ νμν λλ§ ν¬ν¨νκ³ μΆμ κΈ°λ³Έ μ€νμΌμ μ μνλ λ° μ μ©ν μ μμ΅λλ€. νλ μ΄μ€νλ μ νμλ λΆνμν CSS κ·μΉ μμ±μ νΌνλ λ° λμμ΄ λ©λλ€. μ΄λ€μ μ (.)μ΄λ ν΄μ(#) λμ λ°±λΆμ¨ κΈ°νΈ(%)λ‘ μ μΈλ©λλ€.
%message {
padding: 10px;
border: 1px solid #ccc;
background-color: #f9f9f9;
}
.success-message {
@extend %message;
color: green;
}
.error-message {
@extend %message;
color: red;
}
7. @extendμ ν¨κ» μ€μ²© μ ννκΈ°
κΉμ΄ μ€μ²©λ κ·μΉ λ΄μμ μ νμλ₯Ό νμ₯νλ©΄ CSSλ₯Ό μ½κ³ λλ²κΉ
νκΈ° λ μ΄λ €μμ§ μ μμ΅λλ€. κ°λ₯νλ€λ©΄ @extend κ·μΉμ μ€μ²©μ νΌνκ±°λ CSSλ₯Ό 리ν©ν λ§νμ¬ μ€μ²© μμ€μ μ€μ΄λ κ²μ κ³ λ €νμΈμ.
8. λΈλΌμ°μ μ§μ μΈμ§νκΈ°
@extend κΈ°λ₯μ CSS μ μ²λ¦¬κΈ°μ μν΄ μ 곡λμ§λ§, μ»΄νμΌλ CSSλ νμ€ CSSμ΄λ©° λͺ¨λ μ΅μ λΈλΌμ°μ μμ μ§μλ©λλ€. κ·Έλ¬λ ꡬν λΈλΌμ°μ μ μμ
νλ κ²½μ°, μ€νμΌμ΄ μ¬λ°λ₯΄κ² νμλλλ‘ λ³΄μ₯νκΈ° μν΄ ν΄λ¦¬νμ΄λ λ체 λ°©λ²μ μ¬μ©ν΄μΌ ν μλ μμ΅λλ€.
@extendμ λμ
@extendλ μ μ©ν λκ΅¬μΌ μ μμ§λ§ νμ μ΅μμ ν΄κ²°μ±
μ μλλλ€. κ³ λ €ν΄ λ³Ό λ§ν λͺ κ°μ§ λμμ λ€μκ³Ό κ°μ΅λλ€:
1. λ―Ήμ€μΈ(Mixins)
λ―Ήμ€μΈμ μ¬λ¬ μ νμμ ν¬ν¨λ μ μλ μ¬μ¬μ© κ°λ₯ν CSS μ½λ λΈλ‘μ
λλ€. νλ‘κ·Έλλ° μΈμ΄μ ν¨μμ μ μ¬ν©λλ€. λ―Ήμ€μΈμ μ¬λ¬ μ νμμ μ€νμΌ μΈνΈλ₯Ό ν¬ν¨ν΄μΌ νμ§λ§ κ·Έλ€ μ¬μ΄μ λͺ
νν μλ―Έμ κ΄κ³κ° μμ λ @extendμ μ’μ λμμ
λλ€.
λ€μμ Sassμμμ λ―Ήμ€μΈ μμ μ λλ€:
@mixin border-radius($radius) {
-webkit-border-radius: $radius;
-moz-border-radius: $radius;
border-radius: $radius;
}
.button {
@include border-radius(5px);
}
.card {
@include border-radius(10px);
}
2. μ νΈλ¦¬ν° ν΄λμ€
μ νΈλ¦¬ν° ν΄λμ€λ μμμ νΉμ μ€νμΌμ μ μ©νλ λ° μ¬μ©ν μ μλ μκ³ λ¨μΌ λͺ©μ μ CSS ν΄λμ€μ
λλ€. μ’
μ’
κ°κ²©, νμ΄ν¬κ·ΈλνΌ λ° κΈ°ν κ³΅ν΅ μ€νμΌμ κ΄λ¦¬νλ λ° μ¬μ©λ©λλ€. μ νΈλ¦¬ν° ν΄λμ€λ μ¬λ¬ μμμ μ€νμΌμ μ μ©ν΄μΌ νμ§λ§ κ·Έλ€ μ¬μ΄μ μλ―Έμ κ΄κ³λ₯Ό λ§λ€κ³ μΆμ§ μμ λ @extendμ μ’μ λμμ
λλ€.
μ νΈλ¦¬ν° ν΄λμ€μ μλ‘λ .margin-top-10, .padding-20 λλ .text-center λ±μ΄ μμ΅λλ€. Tailwind CSSμ κ°μ νλ μμν¬λ μ νΈλ¦¬ν° ν΄λμ€λ₯Ό λ§μ΄ νμ©ν©λλ€.
3. κ°μ²΄ μ§ν₯ CSS (OOCSS)
κ°μ²΄ μ§ν₯ CSS (OOCSS)λ ꡬ쑰μ μ€ν¨μ λΆλ¦¬λ₯Ό κ°μ‘°νλ CSS μν€ν
μ² λ°©λ²λ‘ μ
λλ€. 볡μ‘ν λ μ΄μμκ³Ό λμμΈμ λ§λ€κΈ° μν΄ κ²°ν©λ μ μλ μ¬μ¬μ© κ°λ₯ν CSS κ°μ²΄λ₯Ό λ§λ€λλ‘ κΆμ₯ν©λλ€. OOCSSλ λ§€μ° λͺ¨λνλκ³ μ μ§λ³΄μ κ°λ₯ν CSS μ½λλ² μ΄μ€λ₯Ό λ§λ€μ΄μΌ ν λ @extendμ μ’μ λμμ
λλ€.
OOCSSμ λ κ°μ§ ν΅μ¬ μμΉμ λ€μκ³Ό κ°μ΅λλ€:
- ꡬ쑰μ μ€ν¨ λΆλ¦¬: ꡬ쑰λ μμμ ν¬κΈ°, μμΉ λ° κΈ°ν ꡬ쑰μ μμ±μ μ μν©λλ€. μ€ν¨μ μμ, κΈκΌ΄ λ° ν λ리μ κ°μ μμμ μκ°μ μΈκ΄μ μ μν©λλ€.
- 컨ν μ΄λμ μ½ν μΈ λΆλ¦¬: 컨ν μ΄λλ λΆλͺ¨ 컨ν μ΄λ λ΄μμ μμμ λ μ΄μμκ³Ό μμΉλ₯Ό μ μν©λλ€. μ½ν μΈ λ μμμ νΉμ μ½ν μΈ μ μ€νμΌλ§μ μ μν©λλ€.
4. λΈλ‘, μμ, μμ μ (BEM)
BEMμ CSSλ₯Ό λ λͺ¨λννκ³ μ μ§λ³΄μ κ°λ₯νκ² λ§λλ CSS ν΄λμ€ μμ±μ μν λͺ
λͺ
κ·μΉ λ° λ°©λ²λ‘ μ
λλ€. BEMμ λΈλ‘, μμ, μμ μλ₯Ό μλ―Έν©λλ€. BEMμ λ§€μ° μ²΄κ³μ μ΄κ³ νμ₯ κ°λ₯ν CSS μ½λλ² μ΄μ€λ₯Ό λ§λ€μ΄μΌ ν λ @extendμ μ’μ λμμ
λλ€.
- λΈλ‘(Block): κ·Έ μμ²΄λ‘ μλ―Έκ° μλ λ
립μ μΈ μν°ν° (μ:
.button). - μμ(Element): λΈλ‘μ μΌλΆλ‘ λ
립μ μΈ μλ―Έκ° μκ³ μλ―Έμ μΌλ‘ λΈλ‘μ λ¬Άμ¬ μλ λΆλΆ (μ:
.button__text). - μμ μ(Modifier): λΈλ‘μ΄λ μμμ λͺ¨μμ΄λ λμμ λ³κ²½νλ νλκ·Έ (μ:
.button--primary).
μ€μ μ¬μ© μμ
@extendκ° μ΄λ»κ² ν¨κ³Όμ μΌλ‘ μ¬μ©λ μ μλμ§ μ€μ μμ λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€:
1. λ²νΌ μ€νμΌ
μμ μΈκΈνλ―μ΄, @extendλ λ²νΌ μ€νμΌμ κ΄λ¦¬νλ λ° νλ₯ν μ νμ
λλ€. κΈ°λ³Έ λ²νΌ μ€νμΌμ μ μν λ€μ λ€λ₯Έ λ²νΌ λ³νμ μν΄ νμ₯ν μ μμ΅λλ€:
.button {
display: inline-block;
padding: 10px 20px;
border: none;
border-radius: 5px;
font-size: 16px;
cursor: pointer;
}
.button--primary {
@extend .button;
background-color: #007bff;
color: #fff;
}
.button--secondary {
@extend .button;
background-color: #6c757d;
color: #fff;
}
2. νΌ μμ
@extendλ₯Ό μ¬μ©νμ¬ νΌ μμμ μ€νμΌμ κ΄λ¦¬ν μ μμ΅λλ€:
.form-control {
display: block;
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 5px;
font-size: 16px;
}
.form-control--error {
@extend .form-control;
border-color: red;
}
3. μλ¦Ό λ©μμ§
μλ¦Ό λ©μμ§λ @extendμ λ λ€λ₯Έ μ’μ ν보μ
λλ€:
.alert {
padding: 15px;
border: 1px solid transparent;
border-radius: 5px;
}
.alert--success {
@extend .alert;
background-color: #d4edda;
border-color: #c3e6cb;
color: #155724;
}
.alert--danger {
@extend .alert;
background-color: #f8d7da;
border-color: #f5c6cb;
color: #721c24;
}
μ μμ κ³ λ €μ¬ν
κΈλ‘λ² νλ‘μ νΈμμ @extendλ₯Ό μ¬μ©ν λ λ€μμ κ³ λ €νμΈμ:
- νμ§ν: μ€νμΌμ΄ λ€λ₯Έ μΈμ΄μ λ¬Έμ μ§ν©μ μν΄ μ΄λ»κ² μν₯μ λ°μμ§ μΌλμ λμΈμ. CSSκ° λ€λ₯Έ ν μ€νΈ κΈΈμ΄μ λ μ΄μμμ μμ©ν μ μμ λ§νΌ μ μ°νμ§ νμΈνμΈμ. μλ₯Ό λ€μ΄, λ²νΌ ν μ€νΈλ μΌλΆ μΈμ΄μμ λ€λ₯Έ μΈμ΄λ³΄λ€ ν¨μ¬ κΈΈ μ μμ΅λλ€.
- μ κ·Όμ±:
@extendμ¬μ©μ΄ μ κ·Όμ±μ λΆμ μ μΈ μν₯μ λ―ΈμΉμ§ μλλ‘ νμΈμ. μλ₯Ό λ€μ΄, μ€ν¬λ¦° 리λμ νμμ μΈ μ½ν μΈ λ₯Ό CSSλ₯Ό μ¬μ©νμ¬ μ¨κΈ°μ§ λ§μΈμ. - μ±λ₯: λ€λ₯Έ λΈλΌμ°μ μ μ₯μΉμμ CSSμ μ±λ₯μ ν μ€νΈνμΈμ. νμ΄μ§ λ λλ§μ λ¦μΆ μ μλ μ§λμΉκ² 볡μ‘ν μ νμλ μ€νμΌ μ¬μ©μ νΌνμΈμ.
- λμμΈ μμ€ν
: λκ·λͺ¨ κΈλ‘λ² νλ‘μ νΈμμ μμ
νλ κ²½μ°, λͺ¨λ μ νκ³Ό νλ«νΌμμ μΌκ΄μ±μ 보μ₯νκΈ° μν΄ λμμΈ μμ€ν
μ¬μ©μ κ³ λ €νμΈμ.
@extendλ CSSμμ λμμΈ μμ€ν μ ꡬννλ λ° μ μ©ν λκ΅¬κ° λ μ μμ΅λλ€. - RTL μ§μ: μ€λ₯Έμͺ½μμ μΌμͺ½μΌλ‘ μ½λ(RTL) μΈμ΄λ₯Ό μν΄ λΉλν λ μ€νμΌμ΄ μ¬λ°λ₯΄κ² μ μ©λλμ§ νμΈνμΈμ. κ°λ₯νλ©΄
margin-leftλ°margin-rightλμmargin-inline-startλ°margin-inline-endμ κ°μ λ Όλ¦¬μ μμ± μ¬μ©μ κ³ λ €νμΈμ.
κ²°λ‘
CSS @extend κ·μΉμ ν¨μ¨μ μ΄κ³ μ μ§λ³΄μ κ°λ₯ν CSSλ₯Ό μμ±νλ κ°λ ₯ν λꡬμ
λλ€. κ·Έ λ¬Έλ², μ₯μ , λ¨μ μ μ΄ν΄ν¨μΌλ‘μ¨ μ½λ μ€λ³΅μ μ€μ΄κ³ , μ μ§λ³΄μμ±μ ν₯μμν€λ©°, μ€νμΌμνΈμ μΌκ΄μ±μ λμ΄λ λ° ν¨κ³Όμ μΌλ‘ μ¬μ©ν μ μμ΅λλ€. κ·Έλ¬λ @extendλ₯Ό μ μ€νκ² μ¬μ©νκ³ μ μ¬μ μΈ ν¨μ μ μΈμ§νλ κ²μ΄ μ€μν©λλ€. μ μ ν λ λ―Ήμ€μΈ, μ νΈλ¦¬ν° ν΄λμ€, OOCSSμ κ°μ λμμ μ κ·Ό λ°©μμ κ³ λ €νμΈμ. μ΄ κ°μ΄λμμ μ€λͺ
ν λͺ¨λ² μ¬λ‘λ₯Ό λ°λ₯΄λ©΄ @extend κ·μΉμ λ§μ€ν°νκ³ μ°μνλ©΄μλ ν¨κ³Όμ μΈ CSSλ₯Ό μμ±ν μ μμ΅λλ€. CSSκ° μκ°μ΄ μ§λλ μ΄ν΄νκ³ μ μ§ κ΄λ¦¬νκΈ° μ½λλ‘ μ½λλ₯Ό μ² μ ν ν
μ€νΈνκ³ @extend μ¬μ©λ²μ λ¬Έμννλ κ²μ μμ§ λ§μΈμ.